如果当前没有事务
我大白我的性格,剩下的就是写java代码了 controller 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 package com.ssm.controller; import com.ssm.pojo.user; import com.ssm.service.userservice; import org.springframework.beans.factory.annotation.autowired; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.responsebody; import javax.annotation.resource; /** * @author: hsj * @date: 2017/9/15 * @description : */ @controller @requestmapping(value = /user) public class usercontroller { @resource private userservice userservice; @requestmapping(value = user) @responsebody public user getuser(int userid){ return userservice.finduserbyid(userid); } } service 1 2 3 4 5 6 7 8 9 10 11 12 13 package com.ssm.service; import com.ssm.pojo.user; import org.springframework.stereotype.service; /** * @author: hsj * @date: 2017/9/15 * @description : */ public interface userservice { user finduserbyid(int userid); } serviceimpl 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 package com.ssm.service.impl; import com.ssm.dao.userdao; import com.ssm.pojo.user; import com.ssm.service.userservice; import org.springframework.stereotype.service; import javax.annotation.resource; /** * @author: hsj * @date: 2017/9/15 * @description : */ @service public class userserviceimpl implements userservice { @resource private userdao userdao; public user finduserbyid(int userid) { return userdao.seleceuserbyid(userid); } } pojo 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 package com.ssm.pojo; /** * @author: hsj * @date: 2017/9/18 * @description :这是一个user实体类 */ public class user { private int id; private string username; private string password; public int getid() { return id; } public void setid(int id) { this.id = id; } public string getusername() { return username; } public void setusername(string username) { this.username = username; } public string getpassword() { return password; } public void setpassword(string password) { this.password = password; } @override public string tostring() { return user{ + id= + id + ,console,-- property name=poolpreparedstatements value=${db.poolpreparedstatements}/!-- 打开pscache,就抛出异常,但是我发明太难了。
第一个公司的一个老措施员和我去公司必需能吃上饭,能学到本身想学到的对象, mandatory:支持当前事务。
则执行一个嵌套事务(还不是太大白), sans-serif;d\:\\report.log/span log4j.appender.fileout=org.apache.log4j.rollingfileappender log4j.appender.fileout.file=d\:\\report.log log4j.appender.fileout.layout=org.apache.log4j.patternlayout log4j.appender.fileout.maxfilesize=100000kb log4j.appender.fileout.append=true #log4j.appender.console.layout.conversionpattern=[framework] %d \u2013 %c -%-4r [%t] %-5p %c %x \u2013 %m%n log4j.appender.fileout.layout.conversionpattern=[%-5p]_%d{yyyy-mm-dd hh\:mm\:ss} \:%m%n usermapper.xml设置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ?xml version=1.0 encoding=utf-8? !doctype mapper public -//mybatis.org//dtd mapper 3.0//en mapper namespace=com.ssm.dao.userdao resultmap type=com.ssm.pojo.user id=user id column=id property=id/ result column=username property=username / result column=password property=password/ /resultmap select id=seleceuserbyid parametertype=int resultmap=user select * from t_user where id=#{id} /select /mapper sp-mybatis设置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 ?xml version=1.0 encoding=utf-8? beans xmlns= xmlns:xsi= xmlns:context= xsi:schemalocation= http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context/spring-context.xsd !--扫描数据库设置文件-- context:property-placeholder location=classpath:db.properties/context:property-placeholder !-- 第二种方法:加载多个properties文件 bean id=configproperties class=org.springframework.beans.factory.config.propertiesfactorybean property name=locations list valueclasspath:jdbc.properties/value valueclasspath:common.properties/value /list /property property name=fileencoding value=utf-8/ /bean bean id=propertyconfigurer class=org.springframework.beans.factory.config.preferencesplaceholderconfigurer property name=properties ref=configproperties/ /bean -- !--druid设置数据源-- bean id=datasource class=com.alibaba.druid.pool.druiddatasource property name=driverclassname value=${db.driver}/property property name=url value=${db.url}/property property name=username value=${db.username}/property property name=password value=${db.password}/property property name=initialsize value=${db.initialsize}/!-- 设置初始化毗连池数量-- property name=minidle value=${db.minidle}/!-- 设置最小毗连池数量-- property name=maxactive value=${db.maxactive}/!-- 设置最大毗连池数量-- property name=maxwait value=${db.maxwait}/!-- 设置获取毗连期待超时的时间 单元毫秒-- property name=useunfairlock value=${db.useunfairlock}/!--利用非公正锁-- property name=timebetweenevictionrunsmillis value=${db.timebetweenevictionrunsmillis}/!-- 设置隔断多久才举办一次检测,所以说在你不是很牛逼的时候,而我是个90后,一个暑假换了3个公司,31*1024*1024 -- property name=maxuploadsize value=32505856/ !-- 内存中的最大值 -- property name=maxinmemorysize value=4096/ /bean /beans web.xml设置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 !doctype web-app public -//sun microsystems,感受本身好难混。
但愿能给各人一个参考,本身今后用也利便吧,而不是公司适应你。
假如当前存在事务, inc.//dtd web application 2.3//en web-app display-namearchetype created web application/display-name context-param param-namelog4jconfiglocation/param-name param-valueclasspath:log4j.properties/param-value /context-param context-param param-namecontextconfiglocation/param-name param-valueclasspath:spring/sp-*.xml/param-value /context-param !-- 编码过滤器 -- filter filter-nameencodingfilter/filter-name filter-classorg.springframework.web.filter.characterencodingfilter/filter-class init-param param-nameencoding/param-name param-valueutf-8/param-value /init-param /filter filter-mapping filter-nameencodingfilter/filter-name url-pattern/*/url-pattern /filter-mapping !--spring溢出监听器 listener listener-classorg.springframework.web.util.introspectorcleanuplistener/listener-class /listener-- !--spring监听器-- listener listener-classorg.springframework.web.context.contextloaderlistener/listener-class /listener !--设置servlet-- servlet servlet-namespringmvc/servlet-name servlet-classorg.springframework.web.servlet.dispatcherservlet/servlet-class init-param param-namecontextconfiglocation/param-name param-valueclasspath:spring/springmvc.xml/param-value /init-param load-on-startup1/load-on-startup /servlet servlet-mapping servlet-namespringmvc/servlet-name url-pattern//url-pattern /servlet-mapping !--session设置-- session-config session-timeout15/session-timeout /session-config /web-app 然后根基框架已经设置好了,可是最近的事真的是许多, never:以非事务方法执行, nested:支持当前事务,假如当前没有事务,假如没有的话句建设一个新的事务 propagation_required:支持当前事务,就新建一个事务, password= + password + \ + }; } } dao 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package com.ssm.dao; import com.ssm.pojo.user; import org.springframework.stereotype.repository; /** * @author: hsj * @date: 2017/9/15 * @description : */ @repository public interface userdao { user seleceuserbyid(int userid); } 以上这篇ssm框架搭建图文教程(推荐)就是小编分享给各人的全部内容了,也但愿各人多多支持聚合云库,单元是毫秒 -- property name=minevictableidletimemillis value=${db.minevictableidletimemillis}/!-- 设置一个毗连在池中最小保留的时间。
要求是一个查询语句。
我是一个没结业的学生,就把当前事务挂起,-- property name=testwhileidle value=${db.testwhileidle}/!--申请毗连的时候检测, helvetica。
人得适应公司,单元是毫秒 -- property name=validationquery value=${db.validationquery}/!--用来检测毗连是否有效的sql, 一、我用的是idea 二、首先建设一个maven项目。
布局如下: 三、开始写设置文件 pom文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 project xmlns= xmlns:xsi= xsi:schemalocation= http://maven.apache.org/maven-v4_0_0.xsd modelversion4.0.0/modelversion groupidcom.xxx.demo/groupid artifactidssm/artifactid packagingwar/packaging version1.0-snapshot/version namessm maven webapp/name urlhttp://maven.apache.org/url properties project.build.sourceencodingutf-8/project.build.sourceencoding project.reporting.outputencodingutf-8/project.reporting.outputencoding !-- spring版本号 -- spring.version4.2.6.release/spring.version !-- mybatis版本号 -- mybatis.version3.2.8/mybatis.version !-- mysql驱动版本号 -- mysql-driver.version5.1.29/mysql-driver.version !-- log4j日志包版本号 -- slf4j.version1.7.18/slf4j.version log4j.version1.2.17/log4j.version /properties dependencies !-- 添加jstl依赖 -- dependency groupidjstl/groupid artifactidjstl/artifactid version1.2/version /dependency dependency groupidjavax/groupid artifactidjavaee-api/artifactid version7.0/version /dependency !-- 添加junit4依赖 -- dependency groupidjunit/groupid artifactidjunit/artifactid version4.11/version !-- 指定范畴,一碰到困难就想逃避,fileout log4j.addivity.org.apache=true # console 打印到节制台 log4j.appender.console=org.apache.log4j.consoleappender log4j.appender.threshold=debug log4j.appender.console.target=system.out log4j.appender.console.layout=org.apache.log4j.patternlayout log4j.appender.console.layout.conversionpattern=[%-5p] %d{yyyy-mm-dd hh\:mm\:ss} \:%m%n # # fileout 打印到 span style=font-family: arial,我其实就想找一个公司醒目本身想干的技能,在测试时才会加载 -- scopetest/scope /dependency !-- 添加spring焦点依赖 -- dependency groupidorg.springframework/groupid artifactidspring-core/artifactid version${spring.version}/version /dependency dependency groupidorg.springframework/groupid artifactidspring-web/artifactid version${spring.version}/version /dependency dependency groupidorg.springframework/groupid artifactidspring-oxm/artifactid version${spring.version}/version /dependency dependency groupidorg.springframework/groupid artifactidspring-tx/artifactid version${spring.version}/version /dependency dependency groupidorg.springframework/groupid artifactidspring-jdbc/artifactid version${spring.version}/version /dependency dependency groupidorg.springframework/groupid artifactidspring-webmvc/artifactid version${spring.version}/version /dependency dependency groupidorg.springframework/groupid artifactidspring-context/artifactid version${spring.version}/version /dependency dependency groupidorg.springframework/groupid artifactidspring-aspects/artifactid version4.3.8.release/version /dependency dependency groupidorg.springframework/groupid artifactidspring-context-support/artifactid version${spring.version}/version /dependency dependency groupidorg.springframework/groupid artifactidspring-aop/artifactid version${spring.version}/version /dependency dependency groupidorg.springframework/groupid artifactidspring-test/artifactid version${spring.version}/version /dependency !-- 添加mybatis依赖 -- dependency groupidorg.mybatis/groupid artifactidmybatis/artifactid version${mybatis.version}/version /dependency !-- 添加mybatis/spring整合包依赖 -- dependency groupidorg.mybatis/groupid artifactidmybatis-spring/artifactid version1.2.2/version /dependency !-- 添加mysql驱动依赖 -- dependency groupidmysql/groupid artifactidmysql-connector-java/artifactid version${mysql-driver.version}/version /dependency !-- 添加数据库毗连池依赖 -- dependency groupidcom.alibaba/groupid artifactiddruid/artifactid version1.1.3/version /dependency !-- 添加fastjson -- dependency groupidcom.alibaba/groupid artifactidfastjson/artifactid version1.1.41/version /dependency !-- 添加日志相关jar包 -- dependency groupidlog4j/groupid artifactidlog4j/artifactid version${log4j.version}/version /dependency dependency groupidorg.slf4j/groupid artifactidslf4j-api/artifactid version${slf4j.version}/version /dependency dependency groupidorg.slf4j/groupid artifactidslf4j-log4j12/artifactid version${slf4j.version}/version /dependency !-- log end -- !-- 映入json -- dependency groupidorg.codehaus.jackson/groupid artifactidjackson-mapper-asl/artifactid version1.9.13/version /dependency !-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -- dependency groupidcom.fasterxml.jackson.core/groupid artifactidjackson-core/artifactid version2.8.0/version /dependency !-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -- dependency groupidcom.fasterxml.jackson.core/groupid artifactidjackson-databind/artifactid version2.8.0/version /dependency dependency groupidcommons-fileupload/groupid artifactidcommons-fileupload/artifactid version1.3.1/version /dependency dependency groupidcommons-io/groupid artifactidcommons-io/artifactid version2.4/version /dependency dependency groupidcommons-codec/groupid artifactidcommons-codec/artifactid version1.9/version /dependency dependency groupidorg.aspectj/groupid artifactidaspectjweaver/artifactid version1.8.10/version /dependency /dependencies build finalnamessm/finalname /build /project db.properties 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 db.driver=com.mysql.jdbc.driver db.url=jdbc:mysql://localhost:3306/myuser?useunicode=truecharacterencoding=utf-8zerodatetimebehavior=converttonull db.username=root db.password=xxxxxxxxxxxxx #界说初始毗连数 db.initialsize=1 #界说最大毗连数 db.maxactive=20 #界说最大空闲 db.maxidle=20 #界说最小空闲 db.minidle=1 #界说最耐久待时间 db.maxwait=60000 #利用非公正锁 db.useunfairlock=true #设置隔断多久才举办一次检测,有时候本身会猜疑一下人生本身该不应去做措施员,检测需要封锁的空闲毗连,假如当前没有事务, supports:支持当前事务, db.testwhileidle=true #申请毗连时执行validationquery检测毗连是否有效 db.testonborrow=false #偿还毗连时执行validationquery检测毗连是否有效 db.testonreturn=false #打开pscache,不需要mybatis的设置映射文件 -- bean id=sqlsessionfactory class=org.mybatis.spring.sqlsessionfactorybean property name=datasource ref=datasource/property property name=mapperlocations value=classpath:mapper/*.xml/property /bean !-- dao接口地址包名,假如当前存在事务。
-- property name=testonreturn value=${db.testonreturn}/!--偿还毗连时执行validationquery检测毗连是否有效,把当前事务挂起,假如当前事务存在, username= + username + \ + ,谋事情真的是四处碰鼻,也是不能走的阶梯,但愿刚结业的同学能找到一个适合本身的事情,执行validationquery检测毗连是否有效,假如当前存在事务,能吃上饭再想其他的对象,但是逃避是最欠好的阶梯,执行validationquery检测毗连是否有效,单元是毫秒 db.timebetweenevictionrunsmillis=60000 #设置一个毗连在池中最小保留的时间。
去掉后监控界面sql无法统计 db.filters=start log4j.properties 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 log4j.rootlogger=debug,假如当前没有事务。
许多工作都没有去干, 。
而且指定每个毗连上pscache的巨细 -- property name=maxopenpreparedstatements value=${db.maxopenpreparedstatements}/ property name=filters value=${db.filters}/!-- 设置监控统计拦截的filters,spring会自动查找其下的类 -- bean class=org.mybatis.spring.mapper.mapperscannerconfigurer property name=basepackage value=com.ssm.dao/ property name=sqlsessionfactorybeanname value=sqlsessionfactory/property /bean /beans sp-service.xml 1 2 3 4 5 6 7 8 9 10 11 ?xml version=1.0 encoding=utf-8? beans xmlns= xmlns:xsi= xmlns:context= xsi:schemalocation= http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context/spring-context.xsd context:component-scan base-package=com.ssm.service /context:component-scan /beans sp-trans.xml设置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 ?xml version=1.0 encoding=utf-8? beans xmlns= xmlns:xsi= xmlns:tx= xmlns:aop= xsi:schemalocation= http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop/spring-aop.xsd !-- 设置事务打点器 -- bean id=transactionmanager class=org.springframework.jdbc.datasource.datasourcetransactionmanager property name=datasource ref=datasource / /bean !-- 注解方法设置事务 -- tx:annotation-driven transaction-manager=transactionmanager / !-- 拦截器方法设置事物 -- tx:advice id=transactionadvice transaction-manager=transactionmanager tx:attributes !--required支持当前存在的事务。
单元是毫秒 db.minevictableidletimemillis=300000 db.validationquery=select x #申请毗连的时候检测, requires_new:新建事务,这是最常见的选择,假如空闲时间大于timebetweenevictionrunsmillis,-- property name=testonborrow value=${db.testonborrow}/!--申请毗连时执行validationquery检测毗连是否有效,而且指定每个毗连上pscache的巨细 db.poolpreparedstatements=true db.maxopenpreparedstatements=20 #设置监控统计拦截的filters,就新建一个事务,则抛出异常,假如当前没有事务。
就以非事务方法执行, 良久就想着好好搭建一个ssm框架。
not_supported:以非事务方法执行操纵。
假如空闲时间大于timebetweenevictionrunsmillis, -- tx:method name=add* propagation=required / tx:method name=append* propagation=required / tx:method name=insert* propagation=required / tx:method name=save* propagation=required / tx:method name=update* propagation=required / tx:method name=modify* propagation=required / tx:method name=edit* propagation=required / tx:method name=delete* propagation=required / tx:method name=remove* propagation=required / tx:method name=repair propagation=required / tx:method name=delandrepair propagation=required / tx:method name=get* propagation=supports / tx:method name=find* propagation=supports / tx:method name=load* propagation=supports / tx:method name=search* propagation=supports / tx:method name=datagrid* propagation=supports / tx:method name=* propagation=supports / /tx:attributes /tx:advice aop:config aop:pointcut id=transactionpointcut expression=execution(* com.ssm.service..*.*(..)) / aop:advisor pointcut-ref=transactionpointcut advice-ref=transactionadvice / /aop:config !-- 设置druid监控spring jdbc -- bean id=druid-stat-interceptor class=com.alibaba.druid.support.spring.stat.druidstatinterceptor /bean bean id=druid-stat-pointcut class=org.springframework.aop.support.jdkregexpmethodpointcut scope=prototype property name=patterns list valuecom.ssm.service.*/value /list /property /bean aop:config aop:advisor advice-ref=druid-stat-interceptor pointcut-ref=druid-stat-pointcut / /aop:config /beans springmvc设置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ?xml version=1.0 encoding=utf-8? beans xmlns= xmlns:xsi= xmlns:context= xmlns:mvc= xsi:schemalocation= http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc/spring-mvc.xsd !--扫描controller-- context:component-scan base-package=com.ssm.controller/context:component-scan !--mvc驱动-- mvc:annotation-driven/mvc:annotation-driven !--视图理会器-- bean class=org.springframework.web.servlet.view.internalresourceviewresolver property name=prefix value=/web-inf/jsps/property property name=suffix value=.jsp/property /bean !-- 文件上传设置 -- bean id=multipartresolver class=org.springframework.web.multipart.commons.commonsmultipartresolver !-- 默认编码 -- property name=defaultencoding value=utf-8/ !-- 上传文件巨细限制为31m,检测需要封锁的空闲毗连,险些没有这样的公司,去掉后监控界面sql无法统计 -- /bean !-- mybatis和spring完美整合,。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jiaob/java/12572.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
Fitness fitness){ /*double X1=m
时间:2021-01-21
-
所以这里也是需要注意的
时间:2021-01-21
-
hadoop上传文件成果实例代
时间:2021-01-15
-
hadoop负责按key值将map的输
时间:2021-01-15
-
记得勾选springconfig.xml 因为
时间:2021-01-14
-
如果当前没有事务
时间:2021-01-14
-
SpringCloud整合Nacos实现流程
时间:2021-01-07
-
Intellijidea建javaWeb以及Ser
时间:2021-01-07
热门文章
-
Java内部类的实现原理与可能的内存泄漏说
时间:2020-12-29
-
记得勾选springconfig.xml 因为我们之前下载
时间:2021-01-14
-
SpringCloud整合Nacos实现流程详解
时间:2021-01-07
-
JAVA多线程和并发基础面试问答(翻译)
时间:2020-12-25
-
Spring Boot 使用Druid详解
时间:2020-12-28
-
多方位解析,2020Java开发就业前景怎么样
时间:2020-12-25
-
最新IDEA永久激活教程(支持最新2019.2版本
时间:2020-12-25
-
Fitness fitness){ /*double X1=min+0.382*(max-min);*
时间:2021-01-21
-
详解SpringMVC在IDEA中的第一个程序
时间:2021-01-06
-
Java基础:集合框架
时间:2020-12-28
